Manipulace s JPEGem

Otázka od: EFG Developer

3. 12. 2002 7:58

Zdravim všechny,
Potreboval bych nejakym zpusobem udelat toto:
Nacist JPEG, vyriznout z nej nejaky ctverec a ten ctverec ulozit do
jinyho JPG.
Jak na to? Musim to delat prez bitmapy?
V 1001 T&T je vtipu 303 priklad na zkopirovani casti jedne bitmapy do
druhe, ale ja to potrebuju udelat pro JPG.

Musim to teda 2x konvertovat (jpg1 -> bmp1, kopie casti bmp1 do bmp2,
bmp2 -> jpg2)?

Prosim nakopnete me  

Diky
Petr Sikola

Odpovedá: Peter Surovy

3. 12. 2002 12:47

Ahoj
----- Original Message -----
From: "EFG Developer" <developer@efg.cz>
Sent: Tuesday, December 03, 2002 6:49 AM


> Potreboval bych nejakym zpusobem udelat toto:
> Nacist JPEG, vyriznout z nej nejaky ctverec a ten ctverec ulozit do
> jinyho JPG.
> Jak na to? Musim to delat prez bitmapy?
--- ano

> V 1001 T&T je vtipu 303 priklad na zkopirovani casti jedne bitmapy do
> druhe, ale ja to potrebuju udelat pro JPG.
-- no musis to urobit rovnako a potom tu novu bitmapu
pomocou assign priradit do TJPEG objektu a ulozit
cez SaveToFile.

> Musim to teda 2x konvertovat (jpg1 -> bmp1, kopie casti bmp1 do bmp2,
> bmp2 -> jpg2)?
---presne tak   .. inak to nejde

PS

Odpovedá: EFG Developer

3. 12. 2002 13:20

> > Musim to teda 2x konvertovat (jpg1 -> bmp1, kopie casti
> bmp1 do bmp2,
> > bmp2 -> jpg2)?
> ---presne tak   .. inak to nejde
>
> PS

OK, uz to mam hotovy presne takhle.
Petr

PS: kdyby to nekdo chtel...
----------------------------------
J1 := TJPegImage.Create;
B1 := TBitmap.Create;
B2 := TBitmap.Create;

J1.LoadFromFile('vstup.jpg');
B1.Assign(J1);
Rct := Rect(10,10,100,100);
B2 := TBitmap.Create;
B2.Width := 90;
B2.Height := 90;
B2.Canvas.CopyRect(rect(0,0,90,90), B1.canvas, rct);
J1.Assign(B2);
J1.SaveToFile('vystup.jpg');

B2.free;
J1.free;
B1.free;